<?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2019/3/6
     * Time: 10:11
     */
namespace Home\Controller;
class SwooleController
{
    public function __construct()
    {
        //创建websocket服务器对象，监听0.0.0.0:9502端口
        $ws = new \swoole_websocket_server("0.0.0.0", 8001);
        //监听WebSocket连接打开事件
        $ws->on('open', function ($ws, $request) {
            var_dump($request->fd, $request->get, $request->server);
            $ws->push($request->fd, "hello, welcome\n");
        });

        //监听WebSocket消息事件
        $ws->on('message', function ($ws, $frame) {
            echo "Message: {$frame->data}\n";
            foreach($ws->connections as $fd) { $ws->push($fd, json_encode($frame->data)); }
        });
        //监听WebSocket连接关闭事件
        $ws->on('close', function ($ws, $fd) {
            echo "client-{$fd} is closed\n";
        });
        $ws->start();
    }

}